首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏哲学驱动设计

    搭建 WPF 上的 UI 自动化测试框架

    我们需要对开发出来的系统进行自动化测试,而 .NET 平台的自动化测试平台在公司内部还没有其它部门完成,所以我们在 2010 年的时候使用 Ruby + VS UIUnitTest 开发了一个 UI 自动化UI Automation,以下简称为UIA)框架,估且称其为 UIA 1.0。 UIA 1.0 完全由周金根搭建,相关的内容,大家可以参考他写的这几篇文章: 《使用VS2010的CodedUI来做自己的自动化测试框架》 《IronRuby - 编写自动化测试脚本》 《信息系统开发平台 OpenExpressApp:【OpenTest】 之 如何实现自动化测试框架》 该测试平台已经实现了由测试人员编写易读的 UI 自动化测试代码以完成日常的自动化测试需求,已经比较易用。 基于这个框架,理论上可以做 windows 平台上所有的应用程序的自动化测试。 在我们 UIA 中,Windows Automation API 用于一些更加底层的控件查找场景。

    2.5K110发布于 2018-01-29
  • 来自专栏测试学习之路

    java+selenium UI自动化测试框架内容介绍

    使用TestNG作为项目运行框架,方便执行测试用例,生成测试报告。 使用selenium作为UI自动化项目底层服务驱动框架。使用Jenkins作为自动化持续集成平台,方便自动编译,自动打包,自动运行测试脚本,邮件发送测试报告,通知等。 二、环境安装与配置(一)开发环境:JDK1.8 及以上IDEAMavenGitJenkins运行截图:1.gif后续详细介绍在下文链接~~~~纳尼/九象测试 (gitee.com)部署:jekins需要安装

    1.8K50编辑于 2022-12-06
  • 来自专栏搜狗测试

    Airtest跨平台的UI自动化测试框架(一)

    一、什么是Airtest Airtest是网易出品的一款基于图像识别和poco控件识别的UI自动化测试工具。支持Windows、Android、IOS平台。 可结合python脚本进行自动化测试脚本运行后可以自动生成详细的HTML测试报告。 三、Airtest项目实践 小编最近利用Airtest编辑浏览器自动化脚本,遇到的难点不是业务本身,而是工具资料的不全,给实践过程中带来很多不便。 目前常用的是图片断言assert_exists()和控件断言exists(); assert_exists(“图片信息”,测试描述点),例如:assert_exists(Template(图片路径), 图片点击不仅看着代码结构不美观,而且只局限于固定的图片,一旦UI发生改变,点击就会出现问题; ③ 封装的方法不要直接写死参数,采用“数据驱动”的方法。

    2.6K40发布于 2020-06-12
  • 来自专栏测试游记

    4.UI自动化测试框架搭建-文件结构

    # 存放元素定位yaml文件 ├── src # 源代码 │ ├── cases # 测试用例 ── requirements.txt # python包管理 根据上述方式创建好文件之后,把我们之前写的元素操作放到utils文件夹中去 yaml文件放到data文件夹中 另外UI 测试的时候需要打开浏览器,把不同操作系统对应的driver放到tools文件夹中 https://github.com/allure-framework/allure2/releases 后面需要在使用到 DOMContentLoaded这个事件完成,仅对html的内容进行下载解析 normal: 即正常情况下,selenium会等待整个界面加载完成(指对html和子资源的下载与解析,如JS文件,图片等,不包括ajax) 在进行UI 自动化测试的时候经常会遇到一个奇怪的问题,也就是人工去操作没有问题,但是使用脚本操作的时候却提示没找到元素,或者脚本迟迟不进行下一步操作 这可能是因为某几个资源没有加载完成导致的。

    98430编辑于 2022-03-29
  • 来自专栏测试游记

    2.UI自动化测试框架搭建-元素查找

    在 1.UI自动化测试框架搭建-yaml文件管理定位元素 中已经可以拿到元素了,后面就需要对元素进行操作。 MobileBy.ANDROID_DATA_MATCHER, "android_view_matcher": MobileBy.ANDROID_VIEW_MATCHER, "windows_ui_automation ": MobileBy.WINDOWS_UI_AUTOMATION, "accessibility_id": MobileBy.ACCESSIBILITY_ID, "image": MobileBy.IMAGE setAttribute('style',arguments[1]);", element, "border:2px solid red;") 小结 到这里框架中的

    54020编辑于 2022-03-29
  • 来自专栏搜狗测试

    Airtest跨平台的UI自动化测试框架(二)

    前言 在上期文章“Airtest跨平台的UI自动化测试框架(一)”中简单的介绍了Airtest的一些用法和注意事项,今天小编介绍一下如何将Airtest测试框架扩展到airtest + python + unitest +Configparser框架。 x = MaliciousInterceptTest.testCase_03() self.assertTrue(x) suite = unittest.TestSuite() # 定义一个测试集合 将运行类)加进来run =bf(suite) # 实例化BeautifulReport模块run.report(filename='BrowserAutoTest', description='手机浏览器自动化测试报告 后续文章 “Airtest跨平台的UI自动化测试之Unitest丰富报告”正在整理中,敬请期待……

    1.4K30发布于 2020-08-04
  • 来自专栏测试游记

    9.UI自动化测试框架搭建-使用Jenkinsfile管理测试流程

    自动化测试需要与CICD流程进行串联才能体现其价值,无论是作为线上巡检,还是发版前的自动检查。 所以需要将测试套与Jenkins进行结合。 测试部分流程,大概有这几步 测试环境准备 测试代码拉取 测试用例执行 测试报告生成 测试结果发送 这里采用固化的执行设备去进行测试,所以可以省略「测试环境准备」 采用Jenkins的方式发送报告没有直接在脚本中实现来的灵活 parameters { } stages { stage('克隆代码'){ steps{ } } stage('执行测试 报告 stage('执行测试'){ steps{ dir("${env.WORKSPACE}/src/casess/") { sh "" sh '){ steps{ dir("${env.WORKSPACE}/src/cases_ui/") { sh ""

    67321编辑于 2022-03-29
  • 来自专栏测吧测试开发

    实战 | UI 自动化测试框架设计与 PageObject 改造

    UI 自动化测试过程中,面对复杂的业务场景,经常会遇到这样的挑战:简单的录制/回放速度快,但无法适应复杂场景;编写自动化测试脚本比较灵活,但工作量大且可维护性差;以往的封装技术(PageObject )可以适应各种 UI 场景,但结构松散,无法在多项目中迁移;因此,测试团队通常还需要一种定制测试框架,用以弥补现有框架的缺点。 测试框架封装思想由于 UI 自动化测试框架围绕 UI 界面使用,因此,依旧选用 PageObject 设计模式对 UI测试进行封装,同时配合 Pytest 单元测试将脚本能够有效的组织、连贯应用起来 由于测试框架基于 PageObject 设计模式,主要方向为 PO 改进,数据驱动,异常处理等,比如:测试数据的数据驱动:将数据存储到外部 yaml 文件中,利用 yaml 工具进行数据读取;数据步骤的数据驱动 改造作为通用的 UI 测试框架, PageObjet 不仅适用于 Web 自动化测试,也可适用 Appium 移动自动化测试,其优点如下:减少代码重复提高测试用例可读性提高测试用例可维护性PO 改造实例

    95900编辑于 2022-06-12
  • 来自专栏pandacode_cn

    Python ui自动化测试

    selenium+unittest包,来做ui自动化测试

    52310编辑于 2023-07-06
  • 来自专栏测试游记

    19.UI自动化测试框架搭建-性能数据采集

    目的 统计运行APP自动化过程中设备的信息数据情况 方案 使用mobileperf来进行性能数据的采集 Android 性能稳定性测试工具 mobileperf 开源 (天猫精灵 Android 性能测试 -线下篇) 数据采集实现 将mobileperf中各个采集类放到代码中/src/utils/perf,对其中的配置读取部分进行适当的修改,适配当前框架中的配置读取 启动数据采集 编写一个session级别的 \n" 名词解析 CPU top device_cpu_rate:整机CPU使用率 user%:用户态CPU使用率 system%:内核态CPU使用率 idle%:空闲CPU pid_cpu%:测试对象进程的 jank:丢帧数,掉帧(丢10帧算一次严重丢帧) MEM(内存) adb shell dumpsys meminfo [pkg] total_ram:设备总内存 free_ram:可用内存 pid_pss:测试对象进程的内存

    70830编辑于 2022-12-01
  • 来自专栏测试游记

    10.UI自动化测试框架搭建-获取Jenkins参数

    获取参数化内容 在使用Jenkins管理测试流程的时候,我们可以通过参数化来动态修改测试执行的一些参数 使用Jenkins执行任务之后,我们选择的参数就变成了环境变量,可以使用python的os.getenv text(name: 'cases', defaultValue: '''''', description: '要执行的用例', ) } 也就是 CASES = get_env("cases") # 测试用例 , 4, auto, 否] EMAIL = get_env("email") # 邮件 ROBOT = get_env("robot") # 企业微信群机器人 获取Jenkins自带变量 在发送测试报告的时候

    58420编辑于 2022-03-29
  • 来自专栏测试人的日常

    Appium PO模式UI自动化测试框架——设计与实践

    目的  相信做过测试的同学都听说过自动化测试,而UI自动化无论何时对测试来说都是比较吸引人的存在。 相较于接口自动化来说它可以最大程度的模拟真实用户的日常操作与特定业务场景的模拟,那么存在即合理,自动化UI测试自然也是广大测试同学职业道路上必不可少的必修课题之一了。2. 意义  说到UI自动化,不同的公司、不同的团队往往看待它的态度也存在着很大的差异。项目或产品是否值得做UI自动化?执行的方向是否正确?落地的成本是否过大? 所以这也是很多公司无法将大量成本聚焦在UI自动化测试的原因,将UI自动化应用于部分主要业务的做法还是值得提倡的,它也只是提高测试团队工作效率与投入产出比的一项手段而已,千万不可本末倒置;2.测试用例的合理设计与执行安排 ;3.相较于接口自动化UI自动化的性价比还是有一定的局限性,针对这样的情况,测试团队中如果要投入UI自动化的话可能就需要将团队中的成员定位做好一定的有效安排。

    1.5K30编辑于 2023-03-05
  • 来自专栏测试游记

    8.UI自动化测试框架搭建-编写首个脚本

    以https://wy.guahao.com/为例,编写一个最简单的脚本 用例设计 在写自动化脚本之前,需要先设计用例。 不管在什么情况下,用例的设计直接决定了测试的效果。 close方法关闭浏览器 编写测试主体 新建一个test_home.py文件。 默认情况下 pytest执行的测试文件需要以test开头或以test结尾 使用compose完成测试报告文件夹层级的展示 使用@pytest.mark.parametrize进行测试的参数化,每个case 就测试一小块内容 import allure import pytest from src.utils.allureoperator import compose @compose(feature ,全程打开一次浏览器,在完成测试后关闭浏览器 代码见first_test分支:https://gitee.com/zx660644/uitest/tree/first_test/

    1K30编辑于 2022-03-29
  • 来自专栏pandacode_cn

    Python ui自动化测试

    selenium+unittest包,来做ui自动化测试

    72720编辑于 2021-12-17
  • 来自专栏自动化测试实战

    UI自动化测试、接口测试自动化测试策略

    每种测试的优缺点 一、UI自动化测试 大家所在公司都属于互联网公司,最大的特点就是快——产品需要不停的迭代,迭代时间基本在15天左右。 UI自动化测试的优点是,能够实际模拟真实用户的行为,直接验证软件的商业价值;缺点是用例的维护和执行代价很大。另外,UI自动化测试的稳定性问题,是长期以来阻碍GUI测试发展的重要原因。 在快速迭代的情况下,页面的改动可能会很频繁,而UI自动化测试本身基于页面元素,前端小小的改动可能需要测试的大大改。 二、接口测试 相比于UI自动化测试,接口测试更稳定,更具有价值。 效率。 所以接口测试用例执行的稳定性很高。 实用性。UI自动化测试验证的主要是页面显示,而接口测试验证的主要是数据。 在当前开发水平下,功能测试基本可以完全验证页面显示的问题,所以UI测试有点类似于“这些没问题了,为了保证一直没问题,所以要写UI自动化,每天去执行”。

    2.6K21发布于 2019-12-24
  • 来自专栏从头开始学习测试开发

    Web UI自动化框架-Cypress

    简介 Cypress 是在 Mocha API 的基础上开发的一套开箱即用的 E2E 测试框架,并不依赖前端框架,也无需其他测试工具库,配置简单,并且提供了强大的 GUI 图形工具,可以自动截图录屏,实现时空旅行并在测试流程中 www.cypress.io 官方文档: https://docs.cypress.io/guides/overview/why-cypress.html#In-a-nutshell 实现功能 端到端测试 整合测试 单元测试 如何工作 1、未使用任何Selenium框架 2、既不是通用的自动化框架,也不是后端服务的单元测试框架 3、测试可在网络浏览器中运行的所有内容 4、没有语言或驱动程序绑定-有并且将永远只有 JavaScript 5、 无需安装多余单独的工具和库即可设置测试套件 6、执行速度快 已支持的浏览器 Chrome Firefox Edge Electron Brave 环境要求 macOS >=10.9

    97620编辑于 2022-05-10
  • 来自专栏测试游记

    6.UI自动化测试框架搭建-常用操作封装(二)

    装饰器进行封装 可以采用: feature='模块名称' story='用户故事' title='用例标题' testcase='测试用例链接地址

    53130编辑于 2022-03-29
  • 来自专栏测试游记

    5.UI自动化测试框架搭建-常用操作封装(一)

    {m:02d}-{1:02d}', f'{y:04d}-{m:02d}-{d2:02d}' timeoperator = TimeOperator() 随机值和通用的方法 Faker库提供了很多测试随机值的生成方法

    59620编辑于 2022-03-29
  • 来自专栏测试游记

    7.UI自动化测试框架搭建-失败后自动截图

    使用pytest_runtest_makereport进行失败截图 在执行UI自动化的时候,遇到错误没有截图的话,比较难以定位 所以使用pytest的钩子函数来进行失败后的操作 https://docs.pytest.org 先使用out = yield来暂停用例执行完的时候,然后判断一下当前用例执行的结果 如果结果是failed或者是error,说明用例出错了,这时候就需要进行截图了 因为是UI自动化测试,所以我们传入头部中肯定有个对象包含了 hookwrapper=True) def pytest_runtest_makereport(item, call): """ pytest 失败后执行 :param item: 测试用例 :param call: 测试步骤 :return: """ out = yield result = out.get_result() logger.info (f"测试报告:{result}") logger.info(f"执行耗时:{call.duration}") if result.outcome in ['failed', 'error

    79420编辑于 2022-03-29
  • 来自专栏腾讯开源的专栏

    整装待发 QTA UI自动化测试框架迎来大更新

    QTA也是腾讯内部使用最为广泛的自动化测试框架,包括PCQQ、手机QQ、空间、音乐、腾讯云等产品测试自动化,目前都是使用QTA的方案。 QTAF (QTA Framework)是QTA的基础框架,包括testbase和tuia模块,QT4A和QT4i分别是面向Android和iOS的UI测试自动化测试解决方案。 QTA的优势 UI自动化的ROI问题这一业界共识的难题——除了可测性,UI测试自动化工具本身设计和使用本身也十分有挑战,许多同行因为这些问题,放弃了或抵触使用UI自动化测试UI自动化测试工具。 后续的计划 在QTA的UI自动化测试的体系中,目前还有QT4W、QT4C和QT4Mac正在筹备开源,三者分别输送了Web、Windows和Mac端的UI自动化测试能力。

    4.8K41发布于 2018-11-22
领券